package cn.com.hhrcw.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @Description: 职位-职位本位
 * @Author: jiangdong
 * @Date: 2020-10-29
 * @Version: V1.0
 */
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "op_job响应结果", description = "职位-职位本位")
public class OpJobVO implements Serializable {
    /**
     * 经验
     */
    private String workExperience;

    /**
     *
     */
    private String id;


    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Excel(name = "创建时间", format = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;


    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人")
    @Excel(name = "创建人")
    private String createBy;


    /**
     * 更新人
     */
    @ApiModelProperty(value = "更新人")
    @Excel(name = "更新人")
    private String updateBy;


    /**
     * 更新时间
     */
    @ApiModelProperty(value = "更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Excel(name = "更新时间", format = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;


    /**
     * 删除标识
     */
    @ApiModelProperty(value = "删除标识")
    private Boolean delFlag;


    /**
     * 所属部门
     */
    @ApiModelProperty(value = "所属部门")
    @Dict(dictTable = "sys_depart", dicCode = "id", dicText = "depart_name")
    @Excel(name = "所属部门", dictTable = "sys_depart", dicCode = "id", dicText = "depart_name")
    private String sysOrgCode;


    /**
     *
     */
    private String r1;


    /**
     *
     */
    private String r2;


    /**
     *
     */
    private String r3;


    /**
     *
     */
    private String r4;


    /**
     *
     */
    private String r5;


    /**
     *
     */
    private String r6;


    /**
     *
     */
    private String r7;


    /**
     *
     */
    private String r8;


    /**
     *
     */
    private String r9;


    /**
     *
     */
    private String r10;


    /**
     * 招聘状态 0 招聘中  1已停止招聘
     */
    @ApiModelProperty(value = "招聘状态 0 招聘中  1已停止招聘")
    @Excel(name = "招聘状态")
    private Integer recruitmentState;


    /**
     * 职称要求 0 初级 1 中级 2 副高级 3 高级
     */
    @ApiModelProperty(value = "职称要求 0 初级 1 中级 2 副高级 3 高级")
    @Excel(name = "职称要求")
    private Integer jobRequire;


    /**
     * 语言
     */
    @ApiModelProperty(value = "语言")
    @Excel(name = "语言")
    private String language;


    /**
     * 上行年龄
     */
    @ApiModelProperty(value = "上行年龄")
    @Excel(name = "上行年龄")
    private Integer jobMaxAge;


    /**
     * 下行年龄
     */
    @ApiModelProperty(value = "下行年龄")
    @Excel(name = "下行年龄")
    private Integer jobMinAge;


    /**
     * 性别 0不限 1 男 2 女
     */
    @ApiModelProperty(value = "性别 0不限 1 男 2 女")
    @Excel(name = "性别0weizhi")
    private Integer jobSex;


    /**
     * 职业类别
     */
    @Dict(dicCode = "id",dicText = "name", dictTable = "recruitment_position")
    private String jobTypeId;


    /**
     * 职业行业
     */
    @Dict(dicCode = "id",dicText = "name", dictTable = "sys_industry")
    private String jobIndustryId;


    /**
     * 职位性质 社会招聘：0-0全职 0-1兼职   校园招聘：1-0应届生 1-1实习生
     */
    @ApiModelProperty(value = "职位性质 社会招聘：0-0全职 0-1兼职   校园招聘：1-0应届生 1-1实习生")
    @Excel(name = "职位性质 社会招聘")
    private String jobNature;


    /**
     * 招聘类型 0社招 1校招
     */
    @ApiModelProperty(value = "招聘类型 0社招 1校招")
    @Excel(name = "招聘类型")
    private Integer recruitType;


    /**
     * 岗位名称
     */
    @ApiModelProperty(value = "岗位名称")
    @Excel(name = "岗位名称")
    private String jobName;


    /**
     * 岗位职责
     */
    @ApiModelProperty(value = "岗位职责")
    @Excel(name = "岗位职责")
    private String jobDuty;


    /**
     * 岗位要求
     */
    @ApiModelProperty(value = "岗位要求")
    @Excel(name = "岗位要求")
    private String jobClaim;


    /**
     *
     */
    private BigDecimal jobLatitude;


    /**
     *
     */
    private BigDecimal jobLongitude;


    /**
     *
     */
    private String jobProvinceString;


    /**
     *
     */
    @Dict(dicCode = "id",dicText = "name", dictTable = "sys_area")
    private String jobProvince;


    /**
     *
     */
    private String jobCityString;


    /**
     *
     */
    @Dict(dicCode = "id",dicText = "name", dictTable = "sys_area")
    private String jobCity;


    /**
     * 具体工作地点
     */
    @ApiModelProperty(value = "具体工作地点")
    @Excel(name = "具体工作地点")
    private String jobArea;


    /**
     * 1年以下 0-1
     * 10年以上 10-99
     * 无工作经验 0-0
     * 最低工作经验
     */
    @ApiModelProperty(value = "最低工作经验")
    @Excel(name = "最低工作经验")
    private Integer minExperience;


    /**
     * 最高工作经验
     */
    @ApiModelProperty(value = "最高工作经验")
    @Excel(name = "最高工作经验")
    private Integer maxExperience;


    /**
     * 批次id
     */
    @ApiModelProperty(value = "批次id")
    @Excel(name = "批次id")
    private String bsId;


    /**
     * 批次/专场标识 0 批次 1 专场
     */
    @ApiModelProperty(value = "批次/专场标识 0 批次 1 专场")
    @Excel(name = "批次/专场标识")
    private Integer bsType;


    /**
     * 学历要求 0  1  2  分别代表啥
     */
    @ApiModelProperty(value = "学历要求 0  1  2  分别代表啥")
    @Excel(name = "学历要求")
    @Dict(replace = {"0_初中","1_高中","2_中专/中技","3_大专","4_本科","5_硕士","6_MBA/EMBA","7_博士"})
    private Integer eduLevel;


    /**
     * 招聘人数
     */
    @ApiModelProperty(value = "招聘人数")
    @Excel(name = "招聘人数")
    private Integer needCount;


    /**
     * 薪资下限 元
     */
    @ApiModelProperty(value = "薪资下限 元")
    @Excel(name = "薪资下限")
    private Integer minMoney;


    /**
     * 薪资上限
     */
    @ApiModelProperty(value = "薪资上限")
    @Excel(name = "薪资上限")
    private Integer maxMoney;


    /**
     *
     */
    private String jobDescribe;


    /**
     * 所属公司
     */
    @ApiModelProperty(value = "所属公司")
    @Excel(name = "所属公司")
    private String companyId;


    /**
     *
     */
    private String contactPhone;


    /**
     *
     */
    private String contactName;


    /**
     *
     */
    private Integer topNo;


    /**
     *
     */
    private Boolean topFlag;


    /**
     *
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Excel(name = "", format = "yyyy-MM-dd")
    private Date closeTime;


    /**
     * 院校性质 0普通大学 1 211院校 2 985院校
     */
    private Integer schoolLevel;


    @ApiModelProperty(value = "是否统招 true是 false不是")
    /**
     * 2020.12.30修改为0统招1非统招2海外留学
     */
    @Dict(replace = {"0_统招", "1_非统招", "2_海外留学"})
    private Integer recruitmentFlag;


    /**
     *
     */
    private Boolean filterFlag;


    /**
     *
     */
    private String filterId;


    /**
     * 推荐标识  true推荐 false不推荐
     */
    @ApiModelProperty(value = "推荐标识  true推荐 false不推荐")
    @Dict(dicCode = "boolean")
    @Excel(name = "推荐标识", dicCode = "boolean")
    private Boolean recommendFlag;


    /**
     * 推荐序号 均是推荐状态下序号越小越靠前
     */
    @ApiModelProperty(value = "推荐序号 均是推荐状态下序号越小越靠前")
    @Excel(name = "推荐序号")
    private Integer recommendNo;


    /**
     * 职位浏览量
     */
    @ApiModelProperty(value = "职位浏览量")
    @Excel(name = "职位浏览量")
    private Integer browseCount;


    /**
     * 投递量
     */
    @ApiModelProperty(value = "投递量")
    @Excel(name = "投递量")
    private Integer deliveryCount;


    /**
     * 收藏量
     */
    @ApiModelProperty(value = "收藏量")
    @Excel(name = "收藏量")
    private Integer collectionCount;

    /**
     * 区/县id
     */
    @Dict(dicCode = "id",dicText = "name", dictTable = "sys_area")
    private String jobCounty;

    /**
     * 专业要求
     */
    private String subject;
    /**
     * 企业信息
     */
    private EnInfoVO enInfoVO;
    /**
     * 创建人
     */
    /**
     * 发布系统  1 企业端  2平台端
     */
    private Integer sysFrom;
    /**
     * 创建人职位
     */
    private String stationName;
    /**
     * 创建人头像
     */
    @Dict(dictTable = "file",dicCode = "id",dicText = "url")
    private String photoUrl;
    /**
     * 创建人姓名
     */
    private String realName;

}
